home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / Oberon⁄F™ 1.2 / Preinstalled version / Obx / Mod / Twins < prev    next >
MacBinary  |  1996-07-08  |  9.9 KB  |  [oODC/obnF]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
100% file MacBinary II, inited, Mon Jul 8 09:37:02 1996, modified Mon Jul 8 09:37:17 1996, creator 'obnF', type 'oODC', 9509 bytes "Twins" , at 0x25a5 318 bytes resource default (weak)
99% file data default
65% TrID TTComp archive compressed (bin-2K) default (weak)
33% TrID MacBinary 2 default (weak)
0% TrID Sybase iAnywhere database files default (weak)
100% lsar MacBinary default


id metadata
keyvalue
macFileType[oODC]
macFileCreator[obnF]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 05 54 77 69 6e 73 00 | 00 00 00 00 00 00 00 00 |..Twins.|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 6f 4f 44 43 6f 62 6e | 46 01 00 00 00 00 00 00 |.oODCobn|F.......|
|00000050| 00 00 00 00 00 25 25 00 | 00 01 3e ae 06 bf 7e ae |.....%%.|..>...~.|
|00000060| 06 bf 8d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 5d 7e 00 00 |........|....]~..|
|00000080| 43 44 4f 6f 00 00 00 00 | 82 f1 44 6f 63 75 6d 65 |CDOo....|..Docume|
|00000090| 6e 74 73 2e 53 74 64 44 | 6f 63 75 6d 65 6e 74 44 |nts.StdD|ocumentD|
|000000a0| 65 73 63 00 f1 44 6f 63 | 75 6d 65 6e 74 73 2e 44 |esc..Doc|uments.D|
|000000b0| 6f 63 75 6d 65 6e 74 44 | 65 73 63 00 f1 43 6f 6e |ocumentD|esc..Con|
|000000c0| 74 61 69 6e 65 72 73 2e | 56 69 65 77 44 65 73 63 |tainers.|ViewDesc|
|000000d0| 00 f1 56 69 65 77 73 2e | 56 69 65 77 44 65 73 63 |..Views.|ViewDesc|
|000000e0| 00 f0 53 74 6f 72 65 73 | 2e 53 74 6f 72 65 44 65 |..Stores|.StoreDe|
|000000f0| 73 63 00 00 00 00 00 00 | 00 00 00 07 00 00 00 a2 |sc......|........|
|00000100| 24 00 00 00 00 00 83 f1 | 44 6f 63 75 6d 65 6e 74 |$.......|Document|
|00000110| 73 2e 4d 6f 64 65 6c 44 | 65 73 63 00 f1 43 6f 6e |s.ModelD|esc..Con|
|00000120| 74 61 69 6e 65 72 73 2e | 4d 6f 64 65 6c 44 65 73 |tainers.|ModelDes|
|00000130| 63 00 f1 4d 6f 64 65 6c | 73 2e 4d 6f 64 65 6c 44 |c..Model|s.ModelD|
|00000140| 65 73 63 00 f1 53 74 6f | 72 65 73 2e 45 6c 65 6d |esc..Sto|res.Elem|
|00000150| 44 65 73 63 00 f2 04 00 | 00 00 00 00 00 00 f0 23 |Desc....|.......#|
|00000160| 00 00 09 00 00 00 e8 23 | 00 00 00 00 00 00 00 82 |.......#|........|
|00000170| f1 54 65 78 74 56 69 65 | 77 73 2e 53 74 64 56 69 |.TextVie|ws.StdVi|
|00000180| 65 77 44 65 73 63 00 f1 | 54 65 78 74 56 69 65 77 |ewDesc..|TextView|
|00000190| 73 2e 56 69 65 77 44 65 | 73 63 00 f2 02 00 00 00 |s.ViewDe|sc......|
|000001a0| 00 00 00 00 00 00 00 00 | 07 00 00 00 92 23 00 00 |........|.....#..|
|000001b0| 00 00 00 83 f1 54 65 78 | 74 4d 6f 64 65 6c 73 2e |.....Tex|tModels.|
|000001c0| 53 74 64 4d 6f 64 65 6c | 44 65 73 63 00 f1 54 65 |StdModel|Desc..Te|
|000001d0| 78 74 4d 6f 64 65 6c 73 | 2e 4d 6f 64 65 6c 44 65 |xtModels|.ModelDe|
|000001e0| 73 63 00 f2 06 00 00 00 | 00 00 00 00 98 21 00 00 |sc......|.....!..|
|000001f0| 0f 00 00 00 90 21 00 00 | 00 00 00 00 00 00 45 02 |.....!..|......E.|
|00000200| 00 00 00 82 f1 54 65 78 | 74 4d 6f 64 65 6c 73 2e |.....Tex|tModels.|
|00000210| 41 74 74 72 69 62 75 74 | 65 73 44 65 73 63 00 f2 |Attribut|esDesc..|
|00000220| 04 00 00 00 00 00 00 00 | 2f 00 00 00 00 00 00 00 |........|/.......|
|00000230| 22 00 00 00 00 00 00 00 | 00 01 00 00 00 00 48 65 |".......|......He|
|00000240| 6c 76 65 74 69 63 61 00 | 7c be 01 00 00 00 00 00 |lvetica.||.......|
|00000250| 90 01 00 00 00 00 8f 00 | 00 00 01 82 f2 0d 00 00 |........|........|
|00000260| 00 00 00 00 00 7a 00 00 | 00 00 00 00 00 22 00 00 |.....z..|....."..|
|00000270| 00 00 00 00 00 00 01 00 | 00 00 00 48 65 6c 76 65 |........|...Helve|
|00000280| 74 69 63 61 00 7c be 01 | 00 01 00 00 00 90 01 00 |tica.|..|........|
|00000290| 00 00 00 38 00 00 00 00 | b3 00 00 00 01 14 00 00 |...8....|........|
|000002a0| 00 00 13 00 00 00 01 1c | 00 00 00 00 1b 00 00 00 |........|........|
|000002b0| 01 1f 00 00 00 00 00 01 | 00 00 01 19 00 00 00 00 |........|........|
|000002c0| 09 00 00 00 01 04 00 00 | 00 00 0c 00 00 00 01 03 |........|........|
|000002d0| 00 00 00 00 0e 00 00 00 | 01 07 00 00 00 00 45 00 |........|......E.|
|000002e0| 00 00 02 82 f2 0d 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002f0| 00 00 00 00 00 22 00 00 | 00 00 00 00 00 00 01 00 |....."..|........|
|00000300| 00 00 00 48 65 6c 76 65 | 74 69 63 61 00 7c be 01 |...Helve|tica.|..|
|00000310| 00 00 00 00 00 bc 02 00 | 00 00 00 06 00 00 00 00 |........|........|
|00000320| c8 00 00 00 02 06 00 00 | 00 00 06 00 00 00 01 4c |........|.......L|
|00000330| 00 00 00 00 57 00 00 00 | 01 23 00 00 00 00 ae 01 |....W...|.#......|
|00000340| 00 00 02 06 00 00 00 00 | 20 01 00 00 02 06 00 00 |........| .......|
|00000350| 00 00 1a 00 00 00 01 05 | 00 00 00 00 23 06 00 00 |........|....#...|
|00000360| 01 04 00 00 00 00 14 01 | 00 00 02 06 00 00 00 00 |........|........|
|00000370| d3 02 00 00 01 2c 00 00 | 00 00 2f 01 00 00 01 15 |.....,..|../.....|
|00000380| 00 00 00 00 02 00 00 00 | 01 2f 00 00 00 00 07 00 |........|./......|
|00000390| 00 00 01 03 00 00 00 00 | 01 00 00 00 01 03 00 00 |........|........|
|000003a0| 00 00 8d 00 00 00 02 06 | 00 00 00 00 32 02 00 00 |........|....2...|
|000003b0| 01 1f 00 00 00 00 90 00 | 00 00 01 13 00 00 00 00 |........|........|
|000003c0| 05 00 00 00 01 1c 00 00 | 00 00 7e 00 00 00 01 64 |........|..~....d|
|000003d0| 00 00 00 00 c3 00 00 00 | 01 20 00 00 00 00 d6 00 |........|. ......|
|000003e0| 00 00 01 37 00 00 00 00 | 22 00 00 00 01 15 00 00 |...7....|".......|
|000003f0| 00 00 05 00 00 00 01 17 | 00 00 00 00 01 00 00 00 |........|........|
|00000400| 01 45 00 00 00 00 81 01 | 00 00 02 07 00 00 00 00 |.E......|........|
|00000410| 3f 01 00 00 02 06 00 00 | 00 00 13 00 00 00 01 34 |?.......|.......4|
|00000420| 00 00 00 00 0d 00 00 00 | 02 03 00 00 00 00 73 00 |........|......s.|
|00000430| 00 00 02 06 00 00 00 00 | 6b 00 00 00 02 07 00 00 |........|k.......|
|00000440| 00 00 3d 00 00 00 ff 4d | 4f 44 55 4c 45 20 4f 62 |..=....M|ODULE Ob|
|00000450| 78 54 77 69 6e 73 3b 0d | 0d 09 49 4d 50 4f 52 54 |xTwins;.|..IMPORT|
|00000460| 20 44 6f 6d 61 69 6e 73 | 2c 20 50 6f 72 74 73 2c | Domains|, Ports,|
|00000470| 20 53 74 6f 72 65 73 2c | 20 4d 6f 64 65 6c 73 2c | Stores,| Models,|
|00000480| 20 56 69 65 77 73 2c 20 | 43 6f 6e 74 72 6f 6c 6c | Views, |Controll|
|00000490| 65 72 73 2c 20 50 72 6f | 70 65 72 74 69 65 73 2c |ers, Pro|perties,|
|000004a0| 20 54 65 78 74 56 69 65 | 77 73 3b 0d 0d 09 43 4f | TextVie|ws;...CO|
|000004b0| 4e 53 54 0d 09 09 6d 69 | 6e 56 65 72 73 69 6f 6e |NST...mi|nVersion|
|000004c0| 20 3d 20 31 3b 20 6d 61 | 78 56 65 72 73 69 6f 6e | = 1; ma|xVersion|
|000004d0| 20 3d 20 31 3b 09 28 2a | 20 6f 6c 64 20 76 65 72 | = 1;.(*| old ver|
|000004e0| 73 69 6f 6e 20 30 20 4f | 62 78 54 77 69 6e 20 76 |sion 0 O|bxTwin v|
|000004f0| 69 65 77 73 20 63 61 6e | 6e 6f 74 20 62 65 20 72 |iews can|not be r|
|00000500| 65 61 64 20 61 6e 79 6d | 6f 72 65 20 2a 29 0d 09 |ead anym|ore *)..|
|00000510| 09 62 6f 72 64 65 72 20 | 3d 20 32 20 2a 20 50 6f |.border |= 2 * Po|
|00000520| 72 74 73 2e 6d 6d 3b 0d | 09 09 69 6e 69 74 43 6f |rts.mm;.|..initCo|
|00000530| 6e 74 65 6e 74 73 20 3d | 20 46 41 4c 53 45 3b 20 |ntents =| FALSE; |
|00000540| 63 6f 70 79 43 6f 6e 74 | 65 6e 74 73 20 3d 20 54 |copyCont|ents = T|
|00000550| 52 55 45 3b 0d 0d 09 54 | 59 50 45 0d 09 09 43 6f |RUE;...T|YPE...Co|
|00000560| 6e 74 65 78 74 20 3d 20 | 50 4f 49 4e 54 45 52 20 |ntext = |POINTER |
|00000570| 54 4f 20 43 6f 6e 74 65 | 78 74 44 65 73 63 3b 0d |TO Conte|xtDesc;.|
|00000580| 09 09 43 6f 6e 74 65 78 | 74 44 65 73 63 20 3d 20 |..Contex|tDesc = |
|00000590| 52 45 43 4f 52 44 20 28 | 4d 6f 64 65 6c 73 2e 43 |RECORD (|Models.C|
|000005a0| 6f 6e 74 65 78 74 44 65 | 73 63 29 0d 09 09 09 76 |ontextDe|sc)....v|
|000005b0| 69 65 77 3a 20 56 69 65 | 77 73 2e 56 69 65 77 3b |iew: Vie|ws.View;|
|000005c0| 09 28 2a 20 63 6f 6e 74 | 61 69 6e 65 64 20 76 69 |.(* cont|ained vi|
|000005d0| 65 77 20 2a 29 0d 09 09 | 09 77 2c 20 68 3a 20 4c |ew *)...|.w, h: L|
|000005e0| 4f 4e 47 49 4e 54 3b 09 | 28 2a 20 73 69 7a 65 20 |ONGINT;.|(* size |
|000005f0| 6f 66 20 63 6f 6e 74 61 | 69 6e 65 64 20 76 69 65 |of conta|ined vie|
|00000600| 77 20 2a 29 0d 09 09 09 | 64 6f 6d 61 69 6e 3a 20 |w *)....|domain: |
|00000610| 44 6f 6d 61 69 6e 73 2e | 44 6f 6d 61 69 6e 09 28 |Domains.|Domain.(|
|00000620| 2a 20 64 6f 6d 61 69 6e | 20 6f 66 20 63 6f 6e 74 |* domain| of cont|
|00000630| 61 69 6e 65 72 20 6d 6f | 64 65 6c 20 2a 29 0d 09 |ainer mo|del *)..|
|00000640| 09 45 4e 44 3b 0d 0d 09 | 09 4d 6f 64 65 6c 20 3d |.END;...|.Model =|
|00000650| 20 50 4f 49 4e 54 45 52 | 20 54 4f 20 4d 6f 64 65 | POINTER| TO Mode|
|00000660| 6c 44 65 73 63 3b 0d 09 | 09 4d 6f 64 65 6c 44 65 |lDesc;..|.ModelDe|
|00000670| 73 63 20 3d 20 52 45 43 | 4f 52 44 20 28 4d 6f 64 |sc = REC|ORD (Mod|
|00000680| 65 6c 73 2e 4d 6f 64 65 | 6c 44 65 73 63 29 0d 09 |els.Mode|lDesc)..|
|00000690| 09 09 77 69 64 74 68 2c | 20 74 6f 70 48 65 69 67 |..width,| topHeig|
|000006a0| 68 74 2c 20 62 6f 74 48 | 65 69 67 68 74 3a 20 4c |ht, botH|eight: L|
|000006b0| 4f 4e 47 49 4e 54 3b 0d | 09 09 09 74 6f 70 2c 20 |ONGINT;.|...top, |
|000006c0| 62 6f 74 74 6f 6d 3a 20 | 43 6f 6e 74 65 78 74 0d |bottom: |Context.|
|000006d0| 09 09 45 4e 44 3b 0d 0d | 09 09 56 69 65 77 20 3d |..END;..|..View =|
|000006e0| 20 50 4f 49 4e 54 45 52 | 20 54 4f 20 56 69 65 77 | POINTER| TO View|
|000006f0| 44 65 73 63 3b 0d 09 09 | 56 69 65 77 44 65 73 63 |Desc;...|ViewDesc|
|00000700| 20 3d 20 52 45 43 4f 52 | 44 20 28 56 69 65 77 73 | = RECOR|D (Views|
|00000710| 2e 56 69 65 77 44 65 73 | 63 29 0d 09 09 09 6d 6f |.ViewDes|c)....mo|
|00000720| 64 65 6c 3a 20 4d 6f 64 | 65 6c 3b 0d 09 09 09 66 |del: Mod|el;....f|
|00000730| 6f 63 75 73 3a 20 43 6f | 6e 74 65 78 74 09 28 2a |ocus: Co|ntext.(*|
|00000740| 20 63 75 72 72 65 6e 74 | 20 66 6f 63 75 73 3b 20 | current| focus; |
|00000750| 65 69 74 68 65 72 20 6d | 6f 64 65 6c 2e 74 6f 70 |either m|odel.top|
|00000760| 20 6f 72 20 6d 6f 64 65 | 6c 2e 62 6f 74 74 6f 6d | or mode|l.bottom|
|00000770| 20 2a 29 0d 09 09 45 4e | 44 3b 0d 0d 0d 09 28 2a | *)...EN|D;....(*|
|00000780| 20 43 6f 6e 74 65 78 74 | 20 2a 29 0d 0d 09 50 52 | Context| *)...PR|
|00000790| 4f 43 45 44 55 52 45 20 | 28 63 3a 20 43 6f 6e 74 |OCEDURE |(c: Cont|
|000007a0| 65 78 74 29 20 54 68 69 | 73 44 6f 6d 61 69 6e 20 |ext) Thi|sDomain |
|000007b0| 28 29 3a 20 44 6f 6d 61 | 69 6e 73 2e 44 6f 6d 61 |(): Doma|ins.Doma|
|000007c0| 69 6e 3b 0d 09 42 45 47 | 49 4e 0d 09 09 52 45 54 |in;..BEG|IN...RET|
|000007d0| 55 52 4e 20 63 2e 64 6f | 6d 61 69 6e 0d 09 45 4e |URN c.do|main..EN|
|000007e0| 44 20 54 68 69 73 44 6f | 6d 61 69 6e 3b 0d 0d 09 |D ThisDo|main;...|
|000007f0| 50 52 4f 43 45 44 55 52 | 45 20 28 63 3a 20 43 6f |PROCEDUR|E (c: Co|
|00000800| 6e 74 65 78 74 29 20 47 | 65 74 53 69 7a 65 20 28 |ntext) G|etSize (|
|00000810| 56 41 52 20 77 2c 20 68 | 3a 20 4c 4f 4e 47 49 4e |VAR w, h|: LONGIN|
|00000820| 54 29 3b 0d 09 42 45 47 | 49 4e 0d 09 09 77 20 3a |T);..BEG|IN...w :|
|00000830| 3d 20 63 2e 77 20 2d 20 | 62 6f 72 64 65 72 3b 0d |= c.w - |border;.|
|00000840| 09 09 68 20 3a 3d 20 63 | 2e 68 20 2d 20 62 6f 72 |..h := c|.h - bor|
|00000850| 64 65 72 0d 09 45 4e 44 | 20 47 65 74 53 69 7a 65 |der..END| GetSize|
|00000860| 3b 0d 0d 09 50 52 4f 43 | 45 44 55 52 45 20 28 63 |;...PROC|EDURE (c|
|00000870| 3a 20 43 6f 6e 74 65 78 | 74 29 20 4e 6f 72 6d 61 |: Contex|t) Norma|
|00000880| 6c 69 7a 65 20 28 29 3a | 20 42 4f 4f 4c 45 41 4e |lize ():| BOOLEAN|
|00000890| 3b 0d 09 42 45 47 49 4e | 0d 09 09 52 45 54 55 52 |;..BEGIN|...RETUR|
|000008a0| 4e 20 54 52 55 45 09 28 | 2a 20 63 75 72 72 65 6e |N TRUE.(|* curren|
|000008b0| 74 20 73 63 72 6f 6c 6c | 20 70 6f 73 69 74 69 6f |t scroll| positio|
|000008c0| 6e 73 20 77 6f 6e 27 74 | 20 62 65 20 73 74 6f 72 |ns won't| be stor|
|000008d0| 65 64 2c 20 61 6e 64 20 | 73 63 72 6f 6c 6c 69 6e |ed, and |scrollin|
|000008e0| 67 20 69 73 6e 27 74 20 | 75 6e 64 6f 61 62 6c 65 |g isn't |undoable|
|000008f0| 20 2a 29 0d 09 45 4e 44 | 20 4e 6f 72 6d 61 6c 69 | *)..END| Normali|
|00000900| 7a 65 3b 0d 0d 09 50 52 | 4f 43 45 44 55 52 45 20 |ze;...PR|OCEDURE |
|00000910| 43 6f 70 79 4f 66 20 28 | 73 6f 75 72 63 65 3a 20 |CopyOf (|source: |
|00000920| 43 6f 6e 74 65 78 74 3b | 20 63 6f 70 79 43 6f 6e |Context;| copyCon|
|00000930| 74 65 6e 74 73 3a 20 42 | 4f 4f 4c 45 41 4e 29 3a |tents: B|OOLEAN):|
|00000940| 20 43 6f 6e 74 65 78 74 | 3b 09 28 2a 20 6d 61 6b | Context|;.(* mak|
|00000950| 65 20 61 20 64 65 65 70 | 20 63 6f 70 79 20 6f 66 |e a deep| copy of|
|00000960| 20 61 20 63 6f 6e 74 65 | 78 74 20 2a 29 0d 09 09 | a conte|xt *)...|
|00000970| 56 41 52 20 63 3a 20 43 | 6f 6e 74 65 78 74 3b 20 |VAR c: C|ontext; |
|00000980| 73 74 3a 20 53 74 6f 72 | 65 73 2e 53 74 6f 72 65 |st: Stor|es.Store|
|00000990| 3b 20 76 3a 20 56 69 65 | 77 73 2e 56 69 65 77 3b |; v: Vie|ws.View;|
|000009a0| 20 6d 2c 20 6e 3a 20 4d | 6f 64 65 6c 73 2e 4d 6f | m, n: M|odels.Mo|
|000009b0| 64 65 6c 3b 0d 09 42 45 | 47 49 4e 0d 09 09 4e 45 |del;..BE|GIN...NE|
|000009c0| 57 28 63 29 3b 0d 09 09 | 73 74 20 3a 3d 20 53 74 |W(c);...|st := St|
|000009d0| 6f 72 65 73 2e 43 6c 6f | 6e 65 28 73 6f 75 72 63 |ores.Clo|ne(sourc|
|000009e0| 65 2e 76 69 65 77 29 3b | 20 76 20 3a 3d 20 73 74 |e.view);| v := st|
|000009f0| 28 56 69 65 77 73 2e 56 | 69 65 77 29 3b 0d 09 09 |(Views.V|iew);...|
|00000a00| 6d 20 3a 3d 20 73 6f 75 | 72 63 65 2e 76 69 65 77 |m := sou|rce.view|
|00000a10| 2e 54 68 69 73 4d 6f 64 | 65 6c 28 29 3b 0d 09 09 |.ThisMod|el();...|
|00000a20| 49 46 20 6d 20 23 20 4e | 49 4c 20 54 48 45 4e 0d |IF m # N|IL THEN.|
|00000a30| 09 09 09 73 74 20 3a 3d | 20 53 74 6f 72 65 73 2e |...st :=| Stores.|
|00000a40| 43 6c 6f 6e 65 28 6d 29 | 3b 20 6e 20 3a 3d 20 73 |Clone(m)|; n := s|
|00000a50| 74 28 4d 6f 64 65 6c 73 | 2e 4d 6f 64 65 6c 29 3b |t(Models|.Model);|
|00000a60| 0d 09 09 09 49 46 20 63 | 6f 70 79 43 6f 6e 74 65 |....IF c|opyConte|
|00000a70| 6e 74 73 20 54 48 45 4e | 20 6e 2e 43 6f 70 79 41 |nts THEN| n.CopyA|
|00000a80| 6c 6c 46 72 6f 6d 28 6d | 29 20 45 4c 53 45 20 6e |llFrom(m|) ELSE n|
|00000a90| 2e 49 6e 69 74 46 72 6f | 6d 28 6d 29 20 45 4e 44 |.InitFro|m(m) END|
|00000aa0| 3b 0d 09 09 09 76 2e 49 | 6e 69 74 4d 6f 64 65 6c |;....v.I|nitModel|
|00000ab0| 28 6e 29 0d 09 09 45 4e | 44 3b 0d 09 09 76 2e 43 |(n)...EN|D;...v.C|
|00000ac0| 6f 70 79 46 72 6f 6d 28 | 73 6f 75 72 63 65 2e 76 |opyFrom(|source.v|
|00000ad0| 69 65 77 29 3b 0d 09 09 | 63 2e 76 69 65 77 20 3a |iew);...|c.view :|
|00000ae0| 3d 20 76 3b 20 63 2e 77 | 20 3a 3d 20 73 6f 75 72 |= v; c.w| := sour|
|00000af0| 63 65 2e 77 3b 20 63 2e | 68 20 3a 3d 20 73 6f 75 |ce.w; c.|h := sou|
|00000b00| 72 63 65 2e 68 3b 20 76 | 2e 49 6e 69 74 43 6f 6e |rce.h; v|.InitCon|
|00000b10| 74 65 78 74 28 63 29 3b | 0d 09 09 52 45 54 55 52 |text(c);|...RETUR|
|00000b20| 4e 20 63 0d 09 45 4e 44 | 20 43 6f 70 79 4f 66 3b |N c..END| CopyOf;|
|00000b30| 0d 0d 09 50 52 4f 43 45 | 44 55 52 45 20 49 6e 69 |...PROCE|DURE Ini|
|00000b40| 74 44 6f 6d 61 69 6e 20 | 28 63 3a 20 43 6f 6e 74 |tDomain |(c: Cont|
|00000b50| 65 78 74 3b 20 64 3a 20 | 44 6f 6d 61 69 6e 73 2e |ext; d: |Domains.|
|00000b60| 44 6f 6d 61 69 6e 29 3b | 0d 09 42 45 47 49 4e 0d |Domain);|..BEGIN.|
|00000b70| 09 09 63 2e 64 6f 6d 61 | 69 6e 20 3a 3d 20 64 3b |..c.doma|in := d;|
|00000b80| 20 63 2e 76 69 65 77 2e | 49 6e 69 74 44 6f 6d 61 | c.view.|InitDoma|
|00000b90| 69 6e 28 64 29 0d 09 45 | 4e 44 20 49 6e 69 74 44 |in(d)..E|ND InitD|
|00000ba0| 6f 6d 61 69 6e 3b 0d 0d | 09 50 52 4f 43 45 44 55 |omain;..|.PROCEDU|
|00000bb0| 52 45 20 4e 65 77 43 6f | 6e 74 65 78 74 20 28 76 |RE NewCo|ntext (v|
|00000bc0| 3a 20 56 69 65 77 73 2e | 56 69 65 77 3b 20 77 2c |: Views.|View; w,|
|00000bd0| 20 68 3a 20 4c 4f 4e 47 | 49 4e 54 29 3a 20 43 6f | h: LONG|INT): Co|
|00000be0| 6e 74 65 78 74 3b 0d 09 | 09 56 41 52 20 63 3a 20 |ntext;..|.VAR c: |
|00000bf0| 43 6f 6e 74 65 78 74 3b | 0d 09 42 45 47 49 4e 0d |Context;|..BEGIN.|
|00000c00| 09 09 4e 45 57 28 63 29 | 3b 0d 09 09 63 2e 76 69 |..NEW(c)|;...c.vi|
|00000c10| 65 77 20 3a 3d 20 76 3b | 20 63 2e 77 20 3a 3d 20 |ew := v;| c.w := |
|00000c20| 77 3b 20 63 2e 68 20 3a | 3d 20 68 3b 20 76 2e 49 |w; c.h :|= h; v.I|
|00000c30| 6e 69 74 43 6f 6e 74 65 | 78 74 28 63 29 3b 0d 09 |nitConte|xt(c);..|
|00000c40| 09 52 45 54 55 52 4e 20 | 63 0d 09 45 4e 44 20 4e |.RETURN |c..END N|
|00000c50| 65 77 43 6f 6e 74 65 78 | 74 3b 0d 0d 0d 09 28 2a |ewContex|t;....(*|
|00000c60| 20 4d 6f 64 65 6c 20 2a | 29 0d 0d 09 50 52 4f 43 | Model *|)...PROC|
|00000c70| 45 44 55 52 45 20 28 6d | 3a 20 4d 6f 64 65 6c 29 |EDURE (m|: Model)|
|00000c80| 20 49 6e 74 65 72 6e 61 | 6c 69 7a 65 20 28 56 41 | Interna|lize (VA|
|00000c90| 52 20 72 64 3a 20 53 74 | 6f 72 65 73 2e 52 65 61 |R rd: St|ores.Rea|
|00000ca0| 64 65 72 29 3b 0d 09 09 | 56 41 52 20 74 68 69 73 |der);...|VAR this|
|00000cb0| 56 65 72 73 69 6f 6e 3a | 20 53 48 4f 52 54 49 4e |Version:| SHORTIN|
|00000cc0| 54 3b 20 76 3a 20 56 69 | 65 77 73 2e 56 69 65 77 |T; v: Vi|ews.View|
|00000cd0| 3b 0d 09 42 45 47 49 4e | 0d 09 09 6d 2e 49 6e 74 |;..BEGIN|...m.Int|
|00000ce0| 65 72 6e 61 6c 69 7a 65 | 5e 28 72 64 29 3b 0d 09 |ernalize|^(rd);..|
|00000cf0| 09 49 46 20 7e 72 64 2e | 63 61 6e 63 65 6c 6c 65 |.IF ~rd.|cancelle|
|00000d00| 64 20 54 48 45 4e 0d 09 | 09 09 72 64 2e 52 65 61 |d THEN..|..rd.Rea|
|00000d10| 64 56 65 72 73 69 6f 6e | 28 6d 69 6e 56 65 72 73 |dVersion|(minVers|
|00000d20| 69 6f 6e 2c 20 6d 61 78 | 56 65 72 73 69 6f 6e 2c |ion, max|Version,|
|00000d30| 20 74 68 69 73 56 65 72 | 73 69 6f 6e 29 3b 0d 09 | thisVer|sion);..|
|00000d40| 09 09 49 46 7e 20 72 64 | 2e 63 61 6e 63 65 6c 6c |..IF~ rd|.cancell|
|00000d50| 65 64 20 54 48 45 4e 0d | 09 09 09 09 72 64 2e 52 |ed THEN.|....rd.R|
|00000d60| 65 61 64 4c 49 6e 74 28 | 6d 2e 77 69 64 74 68 29 |eadLInt(|m.width)|
|00000d70| 3b 0d 09 09 09 09 72 64 | 2e 52 65 61 64 4c 49 6e |;.....rd|.ReadLIn|
|00000d80| 74 28 6d 2e 74 6f 70 48 | 65 69 67 68 74 29 3b 0d |t(m.topH|eight);.|
|00000d90| 09 09 09 09 72 64 2e 52 | 65 61 64 4c 49 6e 74 28 |....rd.R|eadLInt(|
|00000da0| 6d 2e 62 6f 74 48 65 69 | 67 68 74 29 3b 0d 09 09 |m.botHei|ght);...|
|00000db0| 09 09 56 69 65 77 73 2e | 52 65 61 64 56 69 65 77 |..Views.|ReadView|
|00000dc0| 28 72 64 2c 20 76 29 3b | 20 6d 2e 74 6f 70 20 3a |(rd, v);| m.top :|
|00000dd0| 3d 20 4e 65 77 43 6f 6e | 74 65 78 74 28 76 2c 20 |= NewCon|text(v, |
|00000de0| 6d 2e 77 69 64 74 68 2c | 20 6d 2e 74 6f 70 48 65 |m.width,| m.topHe|
|00000df0| 69 67 68 74 29 3b 0d 09 | 09 09 09 56 69 65 77 73 |ight);..|...Views|
|00000e00| 2e 52 65 61 64 56 69 65 | 77 28 72 64 2c 20 76 29 |.ReadVie|w(rd, v)|
|00000e10| 3b 20 6d 2e 62 6f 74 74 | 6f 6d 20 3a 3d 20 4e 65 |; m.bott|om := Ne|
|00000e20| 77 43 6f 6e 74 65 78 74 | 28 76 2c 20 6d 2e 77 69 |wContext|(v, m.wi|
|00000e30| 64 74 68 2c 20 6d 2e 62 | 6f 74 48 65 69 67 68 74 |dth, m.b|otHeight|
|00000e40| 29 0d 09 09 09 45 4e 44 | 0d 09 09 45 4e 44 0d 09 |)....END|...END..|
|00000e50| 45 4e 44 20 49 6e 74 65 | 72 6e 61 6c 69 7a 65 3b |END Inte|rnalize;|
|00000e60| 0d 0d 09 50 52 4f 43 45 | 44 55 52 45 20 28 6d 3a |...PROCE|DURE (m:|
|00000e70| 20 4d 6f 64 65 6c 29 20 | 45 78 74 65 72 6e 61 6c | Model) |External|
|00000e80| 69 7a 65 20 28 56 41 52 | 20 77 72 3a 20 53 74 6f |ize (VAR| wr: Sto|
|00000e90| 72 65 73 2e 57 72 69 74 | 65 72 29 3b 0d 09 42 45 |res.Writ|er);..BE|
|00000ea0| 47 49 4e 0d 09 09 6d 2e | 45 78 74 65 72 6e 61 6c |GIN...m.|External|
|00000eb0| 69 7a 65 5e 28 77 72 29 | 3b 0d 09 09 77 72 2e 57 |ize^(wr)|;...wr.W|
|00000ec0| 72 69 74 65 56 65 72 73 | 69 6f 6e 28 6d 61 78 56 |riteVers|ion(maxV|
|00000ed0| 65 72 73 69 6f 6e 29 3b | 0d 09 09 77 72 2e 57 72 |ersion);|...wr.Wr|
|00000ee0| 69 74 65 4c 49 6e 74 28 | 6d 2e 77 69 64 74 68 29 |iteLInt(|m.width)|
|00000ef0| 3b 0d 09 09 77 72 2e 57 | 72 69 74 65 4c 49 6e 74 |;...wr.W|riteLInt|
|00000f00| 28 6d 2e 74 6f 70 48 65 | 69 67 68 74 29 3b 0d 09 |(m.topHe|ight);..|
|00000f10| 09 77 72 2e 57 72 69 74 | 65 4c 49 6e 74 28 6d 2e |.wr.Writ|eLInt(m.|
|00000f20| 62 6f 74 48 65 69 67 68 | 74 29 3b 0d 09 09 56 69 |botHeigh|t);...Vi|
|00000f30| 65 77 73 2e 57 72 69 74 | 65 56 69 65 77 28 77 72 |ews.Writ|eView(wr|
|00000f40| 2c 20 6d 2e 74 6f 70 2e | 76 69 65 77 29 3b 0d 09 |, m.top.|view);..|
|00000f50| 09 56 69 65 77 73 2e 57 | 72 69 74 65 56 69 65 77 |.Views.W|riteView|
|00000f60| 28 77 72 2c 20 6d 2e 62 | 6f 74 74 6f 6d 2e 76 69 |(wr, m.b|ottom.vi|
|00000f70| 65 77 29 0d 09 45 4e 44 | 20 45 78 74 65 72 6e 61 |ew)..END| Externa|
|00000f80| 6c 69 7a 65 3b 0d 0d 09 | 50 52 4f 43 45 44 55 52 |lize;...|PROCEDUR|
|00000f90| 45 20 28 6d 3a 20 4d 6f | 64 65 6c 29 20 43 6f 70 |E (m: Mo|del) Cop|
|00000fa0| 79 41 6c 6c 46 72 6f 6d | 20 28 73 6f 75 72 63 65 |yAllFrom| (source|
|00000fb0| 3a 20 4d 6f 64 65 6c 73 | 2e 4d 6f 64 65 6c 29 3b |: Models|.Model);|
|00000fc0| 0d 09 42 45 47 49 4e 0d | 09 09 57 49 54 48 20 73 |..BEGIN.|..WITH s|
|00000fd0| 6f 75 72 63 65 3a 20 4d | 6f 64 65 6c 20 44 4f 0d |ource: M|odel DO.|
|00000fe0| 09 09 09 6d 2e 77 69 64 | 74 68 20 3a 3d 20 73 6f |...m.wid|th := so|
|00000ff0| 75 72 63 65 2e 77 69 64 | 74 68 3b 0d 09 09 09 6d |urce.wid|th;....m|
|00001000| 2e 74 6f 70 48 65 69 67 | 68 74 20 3a 3d 20 73 6f |.topHeig|ht := so|
|00001010| 75 72 63 65 2e 74 6f 70 | 48 65 69 67 68 74 3b 0d |urce.top|Height;.|
|00001020| 09 09 09 6d 2e 62 6f 74 | 48 65 69 67 68 74 20 3a |...m.bot|Height :|
|00001030| 3d 20 73 6f 75 72 63 65 | 2e 62 6f 74 48 65 69 67 |= source|.botHeig|
|00001040| 68 74 3b 0d 09 09 09 6d | 2e 74 6f 70 20 3a 3d 20 |ht;....m|.top := |
|00001050| 43 6f 70 79 4f 66 28 73 | 6f 75 72 63 65 2e 74 6f |CopyOf(s|ource.to|
|00001060| 70 2c 20 63 6f 70 79 43 | 6f 6e 74 65 6e 74 73 29 |p, copyC|ontents)|
|00001070| 3b 0d 09 09 09 6d 2e 62 | 6f 74 74 6f 6d 20 3a 3d |;....m.b|ottom :=|
|00001080| 20 43 6f 70 79 4f 66 28 | 73 6f 75 72 63 65 2e 62 | CopyOf(|source.b|
|00001090| 6f 74 74 6f 6d 2c 20 63 | 6f 70 79 43 6f 6e 74 65 |ottom, c|opyConte|
|000010a0| 6e 74 73 29 0d 09 09 45 | 4e 44 0d 09 45 4e 44 20 |nts)...E|ND..END |
|000010b0| 43 6f 70 79 41 6c 6c 46 | 72 6f 6d 3b 0d 0d 09 50 |CopyAllF|rom;...P|
|000010c0| 52 4f 43 45 44 55 52 45 | 20 28 6d 3a 20 4d 6f 64 |ROCEDURE| (m: Mod|
|000010d0| 65 6c 29 20 49 6e 69 74 | 46 72 6f 6d 20 28 73 6f |el) Init|From (so|
|000010e0| 75 72 63 65 3a 20 4d 6f | 64 65 6c 73 2e 4d 6f 64 |urce: Mo|dels.Mod|
|000010f0| 65 6c 29 3b 0d 09 42 45 | 47 49 4e 0d 09 09 57 49 |el);..BE|GIN...WI|
|00001100| 54 48 20 73 6f 75 72 63 | 65 3a 20 4d 6f 64 65 6c |TH sourc|e: Model|
|00001110| 20 44 4f 0d 09 09 09 6d | 2e 77 69 64 74 68 20 3a | DO....m|.width :|
|00001120| 3d 20 73 6f 75 72 63 65 | 2e 77 69 64 74 68 3b 0d |= source|.width;.|
|00001130| 09 09 09 6d 2e 74 6f 70 | 48 65 69 67 68 74 20 3a |...m.top|Height :|
|00001140| 3d 20 73 6f 75 72 63 65 | 2e 74 6f 70 48 65 69 67 |= source|.topHeig|
|00001150| 68 74 3b 0d 09 09 09 6d | 2e 62 6f 74 48 65 69 67 |ht;....m|.botHeig|
|00001160| 68 74 20 3a 3d 20 73 6f | 75 72 63 65 2e 62 6f 74 |ht := so|urce.bot|
|00001170| 48 65 69 67 68 74 3b 0d | 09 09 09 6d 2e 74 6f 70 |Height;.|...m.top|
|00001180| 20 3a 3d 20 43 6f 70 79 | 4f 66 28 73 6f 75 72 63 | := Copy|Of(sourc|
|00001190| 65 2e 74 6f 70 2c 20 69 | 6e 69 74 43 6f 6e 74 65 |e.top, i|nitConte|
|000011a0| 6e 74 73 29 3b 0d 09 09 | 09 6d 2e 62 6f 74 74 6f |nts);...|.m.botto|
|000011b0| 6d 20 3a 3d 20 43 6f 70 | 79 4f 66 28 73 6f 75 72 |m := Cop|yOf(sour|
|000011c0| 63 65 2e 62 6f 74 74 6f | 6d 2c 20 69 6e 69 74 43 |ce.botto|m, initC|
|000011d0| 6f 6e 74 65 6e 74 73 29 | 0d 09 09 45 4e 44 0d 09 |ontents)|...END..|
|000011e0| 45 4e 44 20 49 6e 69 74 | 46 72 6f 6d 3b 0d 0d 09 |END Init|From;...|
|000011f0| 50 52 4f 43 45 44 55 52 | 45 20 28 6d 3a 20 4d 6f |PROCEDUR|E (m: Mo|
|00001200| 64 65 6c 29 20 49 6e 69 | 74 44 6f 6d 61 69 6e 20 |del) Ini|tDomain |
|00001210| 28 64 3a 20 44 6f 6d 61 | 69 6e 73 2e 44 6f 6d 61 |(d: Doma|ins.Doma|
|00001220| 69 6e 29 3b 0d 09 42 45 | 47 49 4e 0d 09 09 6d 2e |in);..BE|GIN...m.|
|00001230| 49 6e 69 74 44 6f 6d 61 | 69 6e 5e 28 64 29 3b 0d |InitDoma|in^(d);.|
|00001240| 09 09 49 6e 69 74 44 6f | 6d 61 69 6e 28 6d 2e 74 |..InitDo|main(m.t|
|00001250| 6f 70 2c 20 64 29 3b 0d | 09 09 49 6e 69 74 44 6f |op, d);.|..InitDo|
|00001260| 6d 61 69 6e 28 6d 2e 62 | 6f 74 74 6f 6d 2c 20 64 |main(m.b|ottom, d|
|00001270| 29 0d 09 45 4e 44 20 49 | 6e 69 74 44 6f 6d 61 69 |)..END I|nitDomai|
|00001280| 6e 3b 0d 0d 0d 09 28 2a | 20 56 69 65 77 20 2a 29 |n;....(*| View *)|
|00001290| 0d 0d 09 50 52 4f 43 45 | 44 55 52 45 20 28 76 3a |...PROCE|DURE (v:|
|000012a0| 20 56 69 65 77 29 20 49 | 6e 69 74 4d 6f 64 65 6c | View) I|nitModel|
|000012b0| 20 28 6d 3a 20 4d 6f 64 | 65 6c 73 2e 4d 6f 64 65 | (m: Mod|els.Mode|
|000012c0| 6c 29 3b 0d 09 42 45 47 | 49 4e 0d 09 09 41 53 53 |l);..BEG|IN...ASS|
|000012d0| 45 52 54 28 28 76 2e 6d | 6f 64 65 6c 20 3d 20 4e |ERT((v.m|odel = N|
|000012e0| 49 4c 29 20 4f 52 20 28 | 6d 20 3d 20 76 2e 6d 6f |IL) OR (|m = v.mo|
|000012f0| 64 65 6c 29 2c 20 32 30 | 29 3b 0d 09 09 41 53 53 |del), 20|);...ASS|
|00001300| 45 52 54 28 6d 20 23 20 | 4e 49 4c 2c 20 32 31 29 |ERT(m # |NIL, 21)|
|00001310| 3b 20 41 53 53 45 52 54 | 28 6d 20 49 53 20 4d 6f |; ASSERT|(m IS Mo|
|00001320| 64 65 6c 2c 20 32 33 29 | 3b 0d 09 09 76 2e 6d 6f |del, 23)|;...v.mo|
|00001330| 64 65 6c 20 3a 3d 20 6d | 28 4d 6f 64 65 6c 29 3b |del := m|(Model);|
|00001340| 0d 09 09 76 2e 66 6f 63 | 75 73 20 3a 3d 20 76 2e |...v.foc|us := v.|
|00001350| 6d 6f 64 65 6c 2e 62 6f | 74 74 6f 6d 0d 09 45 4e |model.bo|ttom..EN|
|00001360| 44 20 49 6e 69 74 4d 6f | 64 65 6c 3b 0d 0d 09 50 |D InitMo|del;...P|
|00001370| 52 4f 43 45 44 55 52 45 | 20 28 76 3a 20 56 69 65 |ROCEDURE| (v: Vie|
|00001380| 77 29 20 54 68 69 73 4d | 6f 64 65 6c 20 28 29 3a |w) ThisM|odel ():|
|00001390| 20 4d 6f 64 65 6c 3b 0d | 09 42 45 47 49 4e 0d 09 | Model;.|.BEGIN..|
|000013a0| 09 52 45 54 55 52 4e 20 | 76 2e 6d 6f 64 65 6c 0d |.RETURN |v.model.|
|000013b0| 09 45 4e 44 20 54 68 69 | 73 4d 6f 64 65 6c 3b 0d |.END Thi|sModel;.|
|000013c0| 0d 09 50 52 4f 43 45 44 | 55 52 45 20 28 76 3a 20 |..PROCED|URE (v: |
|000013d0| 56 69 65 77 29 20 49 6e | 74 65 72 6e 61 6c 69 7a |View) In|ternaliz|
|000013e0| 65 20 28 56 41 52 20 72 | 64 3a 20 53 74 6f 72 65 |e (VAR r|d: Store|
|000013f0| 73 2e 52 65 61 64 65 72 | 29 3b 0d 09 09 56 41 52 |s.Reader|);...VAR|
|00001400| 20 74 68 69 73 56 65 72 | 73 69 6f 6e 3a 20 53 48 | thisVer|sion: SH|
|00001410| 4f 52 54 49 4e 54 3b 20 | 73 3a 20 53 74 6f 72 65 |ORTINT; |s: Store|
|00001420| 73 2e 53 74 6f 72 65 3b | 0d 09 42 45 47 49 4e 0d |s.Store;|..BEGIN.|
|00001430| 09 09 76 2e 49 6e 74 65 | 72 6e 61 6c 69 7a 65 5e |..v.Inte|rnalize^|
|00001440| 28 72 64 29 3b 0d 09 09 | 49 46 20 7e 72 64 2e 63 |(rd);...|IF ~rd.c|
|00001450| 61 6e 63 65 6c 6c 65 64 | 20 54 48 45 4e 0d 09 09 |ancelled| THEN...|
|00001460| 09 72 64 2e 52 65 61 64 | 56 65 72 73 69 6f 6e 28 |.rd.Read|Version(|
|00001470| 6d 69 6e 56 65 72 73 69 | 6f 6e 2c 20 6d 61 78 56 |minVersi|on, maxV|
|00001480| 65 72 73 69 6f 6e 2c 20 | 74 68 69 73 56 65 72 73 |ersion, |thisVers|
|00001490| 69 6f 6e 29 3b 0d 09 09 | 09 49 46 20 7e 72 64 2e |ion);...|.IF ~rd.|
|000014a0| 63 61 6e 63 65 6c 6c 65 | 64 20 54 48 45 4e 0d 09 |cancelle|d THEN..|
|000014b0| 09 09 09 72 64 2e 52 65 | 61 64 53 74 6f 72 65 28 |...rd.Re|adStore(|
|000014c0| 73 29 3b 20 41 53 53 45 | 52 54 28 73 20 23 20 4e |s); ASSE|RT(s # N|
|000014d0| 49 4c 2c 20 31 30 30 29 | 3b 0d 09 09 09 09 76 2e |IL, 100)|;.....v.|
|000014e0| 49 6e 69 74 4d 6f 64 65 | 6c 28 73 28 4d 6f 64 65 |InitMode|l(s(Mode|
|000014f0| 6c 29 29 0d 09 09 09 45 | 4e 44 0d 09 09 45 4e 44 |l))....E|ND...END|
|00001500| 0d 09 45 4e 44 20 49 6e | 74 65 72 6e 61 6c 69 7a |..END In|ternaliz|
|00001510| 65 3b 0d 0d 09 50 52 4f | 43 45 44 55 52 45 20 28 |e;...PRO|CEDURE (|
|00001520| 76 3a 20 56 69 65 77 29 | 20 45 78 74 65 72 6e 61 |v: View)| Externa|
|00001530| 6c 69 7a 65 20 28 56 41 | 52 20 77 72 3a 20 53 74 |lize (VA|R wr: St|
|00001540| 6f 72 65 73 2e 57 72 69 | 74 65 72 29 3b 0d 09 42 |ores.Wri|ter);..B|
|00001550| 45 47 49 4e 0d 09 09 76 | 2e 45 78 74 65 72 6e 61 |EGIN...v|.Externa|
|00001560| 6c 69 7a 65 5e 28 77 72 | 29 3b 0d 09 09 77 72 2e |lize^(wr|);...wr.|
|00001570| 57 72 69 74 65 56 65 72 | 73 69 6f 6e 28 6d 61 78 |WriteVer|sion(max|
|00001580| 56 65 72 73 69 6f 6e 29 | 3b 0d 09 09 77 72 2e 57 |Version)|;...wr.W|
|00001590| 72 69 74 65 53 74 6f 72 | 65 28 76 2e 6d 6f 64 65 |riteStor|e(v.mode|
|000015a0| 6c 29 0d 09 45 4e 44 20 | 45 78 74 65 72 6e 61 6c |l)..END |External|
|000015b0| 69 7a 65 3b 0d 0d 09 50 | 52 4f 43 45 44 55 52 45 |ize;...P|ROCEDURE|
|000015c0| 20 28 76 3a 20 56 69 65 | 77 29 20 52 65 73 74 6f | (v: Vie|w) Resto|
|000015d0| 72 65 20 28 66 3a 20 56 | 69 65 77 73 2e 46 72 61 |re (f: V|iews.Fra|
|000015e0| 6d 65 3b 20 6c 2c 20 74 | 2c 20 72 2c 20 62 3a 20 |me; l, t|, r, b: |
|000015f0| 4c 4f 4e 47 49 4e 54 29 | 3b 0d 09 09 56 41 52 20 |LONGINT)|;...VAR |
|00001600| 6d 3a 20 4d 6f 64 65 6c | 3b 20 77 3a 20 56 69 65 |m: Model|; w: Vie|
|00001610| 77 73 2e 56 69 65 77 3b | 0d 09 42 45 47 49 4e 0d |ws.View;|..BEGIN.|
|00001620| 09 09 6d 20 3a 3d 20 76 | 2e 6d 6f 64 65 6c 3b 0d |..m := v|.model;.|
|00001630| 09 09 66 2e 44 72 61 77 | 4c 69 6e 65 28 30 2c 20 |..f.Draw|Line(0, |
|00001640| 6d 2e 74 6f 70 48 65 69 | 67 68 74 2c 20 6d 2e 77 |m.topHei|ght, m.w|
|00001650| 69 64 74 68 2c 20 6d 2e | 74 6f 70 48 65 69 67 68 |idth, m.|topHeigh|
|00001660| 74 2c 20 66 2e 64 6f 74 | 2c 20 50 6f 72 74 73 2e |t, f.dot|, Ports.|
|00001670| 62 6c 61 63 6b 29 3b 0d | 09 09 28 2a 20 69 6e 73 |black);.|..(* ins|
|00001680| 74 61 6c 6c 20 74 68 65 | 20 73 75 62 66 72 61 6d |tall the| subfram|
|00001690| 65 73 20 66 6f 72 20 74 | 68 65 20 73 75 62 76 69 |es for t|he subvi|
|000016a0| 65 77 73 20 2a 29 0d 09 | 09 77 20 3a 3d 20 6d 2e |ews *)..|.w := m.|
|000016b0| 74 6f 70 2e 76 69 65 77 | 3b 20 56 69 65 77 73 2e |top.view|; Views.|
|000016c0| 49 6e 73 74 61 6c 6c 46 | 72 61 6d 65 28 66 2c 20 |InstallF|rame(f, |
|000016d0| 77 2c 20 50 6f 72 74 73 | 2e 6d 6d 2c 20 50 6f 72 |w, Ports|.mm, Por|
|000016e0| 74 73 2e 6d 6d 2c 20 30 | 2c 20 76 2e 66 6f 63 75 |ts.mm, 0|, v.focu|
|000016f0| 73 2e 76 69 65 77 20 3d | 20 77 29 3b 0d 09 09 77 |s.view =| w);...w|
|00001700| 20 3a 3d 20 6d 2e 62 6f | 74 74 6f 6d 2e 76 69 65 | := m.bo|ttom.vie|
|00001710| 77 3b 20 56 69 65 77 73 | 2e 49 6e 73 74 61 6c 6c |w; Views|.Install|
|00001720| 46 72 61 6d 65 28 66 2c | 20 77 2c 20 50 6f 72 74 |Frame(f,| w, Port|
|00001730| 73 2e 6d 6d 2c 20 50 6f | 72 74 73 2e 6d 6d 20 2b |s.mm, Po|rts.mm +|
|00001740| 20 6d 2e 74 6f 70 48 65 | 69 67 68 74 2c 20 31 2c | m.topHe|ight, 1,|
|00001750| 20 76 2e 66 6f 63 75 73 | 2e 76 69 65 77 20 3d 20 | v.focus|.view = |
|00001760| 77 29 0d 09 45 4e 44 20 | 52 65 73 74 6f 72 65 3b |w)..END |Restore;|
|00001770| 0d 0d 09 50 52 4f 43 45 | 44 55 52 45 20 53 65 74 |...PROCE|DURE Set|
|00001780| 46 6f 63 75 73 20 28 76 | 3a 20 56 69 65 77 73 2e |Focus (v|: Views.|
|00001790| 56 69 65 77 3b 20 78 2c | 20 79 3a 20 4c 4f 4e 47 |View; x,| y: LONG|
|000017a0| 49 4e 54 29 3a 20 42 4f | 4f 4c 45 41 4e 3b 0d 09 |INT): BO|OLEAN;..|
|000017b0| 09 56 41 52 20 70 3a 20 | 50 72 6f 70 65 72 74 69 |.VAR p: |Properti|
|000017c0| 65 73 2e 46 6f 63 75 73 | 50 72 65 66 3b 0d 09 42 |es.Focus|Pref;..B|
|000017d0| 45 47 49 4e 09 28 2a 20 | 64 65 74 65 72 6d 69 6e |EGIN.(* |determin|
|000017e0| 65 20 77 68 65 74 68 65 | 72 20 76 20 73 68 6f 75 |e whethe|r v shou|
|000017f0| 6c 64 20 62 65 20 66 6f | 63 75 73 65 64 20 77 68 |ld be fo|cused wh|
|00001800| 65 6e 20 74 68 65 20 6d | 6f 75 73 65 20 69 73 20 |en the m|ouse is |
|00001810| 63 6c 69 63 6b 65 64 20 | 61 74 20 28 78 2c 20 79 |clicked |at (x, y|
|00001820| 29 20 69 6e 20 76 20 2a | 29 0d 09 09 70 2e 68 6f |) in v *|)...p.ho|
|00001830| 74 46 6f 63 75 73 20 3a | 3d 20 46 41 4c 53 45 3b |tFocus :|= FALSE;|
|00001840| 0d 09 09 70 2e 61 74 4c | 6f 63 61 74 69 6f 6e 20 |...p.atL|ocation |
|00001850| 3a 3d 20 54 52 55 45 3b | 20 70 2e 78 20 3a 3d 20 |:= TRUE;| p.x := |
|00001860| 78 3b 20 70 2e 79 20 3a | 3d 20 79 3b 0d 09 09 70 |x; p.y :|= y;...p|
|00001870| 2e 73 65 74 46 6f 63 75 | 73 20 3a 3d 20 46 41 4c |.setFocu|s := FAL|
|00001880| 53 45 3b 20 70 2e 73 65 | 6c 65 63 74 4f 6e 46 6f |SE; p.se|lectOnFo|
|00001890| 63 75 73 20 3a 3d 20 46 | 41 4c 53 45 3b 0d 09 09 |cus := F|ALSE;...|
|000018a0| 76 2e 48 61 6e 64 6c 65 | 50 72 6f 70 4d 73 67 28 |v.Handle|PropMsg(|
|000018b0| 70 29 3b 0d 09 09 52 45 | 54 55 52 4e 20 70 2e 73 |p);...RE|TURN p.s|
|000018c0| 65 74 46 6f 63 75 73 0d | 09 45 4e 44 20 53 65 74 |etFocus.|.END Set|
|000018d0| 46 6f 63 75 73 3b 0d 0d | 09 50 52 4f 43 45 44 55 |Focus;..|.PROCEDU|
|000018e0| 52 45 20 28 76 3a 20 56 | 69 65 77 29 20 48 61 6e |RE (v: V|iew) Han|
|000018f0| 64 6c 65 43 74 72 6c 4d | 73 67 20 28 66 3a 20 56 |dleCtrlM|sg (f: V|
|00001900| 69 65 77 73 2e 46 72 61 | 6d 65 3b 20 56 41 52 20 |iews.Fra|me; VAR |
|00001910| 6d 73 67 3a 20 56 69 65 | 77 73 2e 43 74 72 6c 4d |msg: Vie|ws.CtrlM|
|00001920| 65 73 73 61 67 65 3b 0d | 09 09 09 09 09 09 09 09 |essage;.|........|
|00001930| 09 09 09 09 09 09 09 56 | 41 52 20 66 6f 63 75 73 |.......V|AR focus|
|00001940| 3a 20 56 69 65 77 73 2e | 56 69 65 77 29 3b 0d 09 |: Views.|View);..|
|00001950| 09 56 41 52 20 67 3a 20 | 56 69 65 77 73 2e 46 72 |.VAR g: |Views.Fr|
|00001960| 61 6d 65 3b 20 6d 3a 20 | 4d 6f 64 65 6c 3b 20 6e |ame; m: |Model; n|
|00001970| 65 77 46 6f 63 75 73 3a | 20 43 6f 6e 74 65 78 74 |ewFocus:| Context|
|00001980| 3b 20 6d 4d 73 67 3a 20 | 43 6f 6e 74 72 6f 6c 6c |; mMsg: |Controll|
|00001990| 65 72 73 2e 4d 61 72 6b | 4d 73 67 3b 20 70 72 6f |ers.Mark|Msg; pro|
|000019a0| 70 3a 20 50 72 6f 70 65 | 72 74 69 65 73 2e 50 72 |p: Prope|rties.Pr|
|000019b0| 6f 70 65 72 74 79 3b 0d | 09 42 45 47 49 4e 0d 09 |operty;.|.BEGIN..|
|000019c0| 09 6d 20 3a 3d 20 76 2e | 6d 6f 64 65 6c 3b 0d 09 |.m := v.|model;..|
|000019d0| 09 57 49 54 48 20 6d 73 | 67 3a 20 43 6f 6e 74 72 |.WITH ms|g: Contr|
|000019e0| 6f 6c 6c 65 72 73 2e 43 | 75 72 73 6f 72 4d 65 73 |ollers.C|ursorMes|
|000019f0| 73 61 67 65 20 44 4f 0d | 09 09 09 49 46 20 6d 73 |sage DO.|...IF ms|
|00001a00| 67 2e 79 20 3e 3d 20 6d | 2e 74 6f 70 48 65 69 67 |g.y >= m|.topHeig|
|00001a10| 68 74 20 54 48 45 4e 20 | 6e 65 77 46 6f 63 75 73 |ht THEN |newFocus|
|00001a20| 20 3a 3d 20 6d 2e 62 6f | 74 74 6f 6d 20 45 4c 53 | := m.bo|ttom ELS|
|00001a30| 45 20 6e 65 77 46 6f 63 | 75 73 20 3a 3d 20 6d 2e |E newFoc|us := m.|
|00001a40| 74 6f 70 20 45 4e 44 3b | 0d 09 09 09 66 6f 63 75 |top END;|....focu|
|00001a50| 73 20 3a 3d 20 6e 65 77 | 46 6f 63 75 73 2e 76 69 |s := new|Focus.vi|
|00001a60| 65 77 3b 0d 09 09 09 49 | 46 20 28 6e 65 77 46 6f |ew;....I|F (newFo|
|00001a70| 63 75 73 20 23 20 76 2e | 66 6f 63 75 73 29 20 26 |cus # v.|focus) &|
|00001a80| 20 28 28 6d 73 67 20 49 | 53 20 43 6f 6e 74 72 6f | ((msg I|S Contro|
|00001a90| 6c 6c 65 72 73 2e 54 72 | 61 63 6b 4d 73 67 29 20 |llers.Tr|ackMsg) |
|00001aa0| 4f 52 20 28 6d 73 67 20 | 49 53 20 43 6f 6e 74 72 |OR (msg |IS Contr|
|00001ab0| 6f 6c 6c 65 72 73 2e 44 | 72 6f 70 4d 73 67 29 29 |ollers.D|ropMsg))|
|00001ac0| 20 26 0d 09 09 09 09 53 | 65 74 46 6f 63 75 73 28 | &.....S|etFocus(|
|00001ad0| 66 6f 63 75 73 2c 20 6d | 73 67 2e 78 2c 20 6d 73 |focus, m|sg.x, ms|
|00001ae0| 67 2e 79 29 20 54 48 45 | 4e 0d 09 09 09 09 28 2a |g.y) THE|N.....(*|
|00001af0| 20 72 65 6d 6f 76 65 20 | 6d 61 72 6b 73 20 69 6e | remove |marks in|
|00001b00| 20 6f 6c 64 20 66 6f 63 | 75 73 20 2a 29 0d 09 09 | old foc|us *)...|
|00001b10| 09 09 6d 4d 73 67 2e 73 | 68 6f 77 20 3a 3d 20 46 |..mMsg.s|how := F|
|00001b20| 41 4c 53 45 3b 0d 09 09 | 09 09 67 20 3a 3d 20 56 |ALSE;...|..g := V|
|00001b30| 69 65 77 73 2e 54 68 69 | 73 46 72 61 6d 65 28 66 |iews.Thi|sFrame(f|
|00001b40| 2c 20 76 2e 66 6f 63 75 | 73 2e 76 69 65 77 29 3b |, v.focu|s.view);|
|00001b50| 20 49 46 20 67 20 23 20 | 4e 49 4c 20 54 48 45 4e | IF g # |NIL THEN|
|00001b60| 20 56 69 65 77 73 2e 46 | 6f 72 77 61 72 64 43 74 | Views.F|orwardCt|
|00001b70| 72 6c 4d 73 67 28 67 2c | 20 6d 4d 73 67 29 20 45 |rlMsg(g,| mMsg) E|
|00001b80| 4e 44 3b 0d 09 09 09 09 | 76 2e 66 6f 63 75 73 20 |ND;.....|v.focus |
|00001b90| 3a 3d 20 6e 65 77 46 6f | 63 75 73 3b 09 28 2a 20 |:= newFo|cus;.(* |
|00001ba0| 73 65 74 20 6e 65 77 20 | 66 6f 63 75 73 20 2a 29 |set new |focus *)|
|00001bb0| 0d 09 09 09 09 28 2a 20 | 73 65 74 20 6d 61 72 6b |.....(* |set mark|
|00001bc0| 73 20 69 6e 20 6e 65 77 | 20 66 6f 63 75 73 20 2a |s in new| focus *|
|00001bd0| 29 0d 09 09 09 09 6d 4d | 73 67 2e 73 68 6f 77 20 |).....mM|sg.show |
|00001be0| 3a 3d 20 54 52 55 45 3b | 0d 09 09 09 09 67 20 3a |:= TRUE;|.....g :|
|00001bf0| 3d 20 56 69 65 77 73 2e | 54 68 69 73 46 72 61 6d |= Views.|ThisFram|
|00001c00| 65 28 66 2c 20 76 2e 66 | 6f 63 75 73 2e 76 69 65 |e(f, v.f|ocus.vie|
|00001c10| 77 29 3b 20 49 46 20 67 | 20 23 20 4e 49 4c 20 54 |w); IF g| # NIL T|
|00001c20| 48 45 4e 20 56 69 65 77 | 73 2e 46 6f 72 77 61 72 |HEN View|s.Forwar|
|00001c30| 64 43 74 72 6c 4d 73 67 | 28 67 2c 20 6d 4d 73 67 |dCtrlMsg|(g, mMsg|
|00001c40| 29 20 45 4e 44 0d 09 09 | 09 45 4e 44 0d 09 09 28 |) END...|.END...(|
|00001c50| 2a 20 74 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 20 |* the fo|llowing |
|00001c60| 73 63 72 6f 6c 6c 69 6e | 67 2d 6f 72 69 65 6e 74 |scrollin|g-orient|
|00001c70| 65 64 20 6d 65 73 73 61 | 67 65 73 20 61 72 65 20 |ed messa|ges are |
|00001c80| 61 6c 77 61 79 73 20 73 | 65 6e 74 20 74 6f 20 62 |always s|ent to b|
|00001c90| 6f 74 74 6f 6d 20 76 69 | 65 77 2c 20 69 6e 64 65 |ottom vi|ew, inde|
|00001ca0| 70 65 6e 64 65 6e 74 20 | 6f 66 20 66 6f 63 75 73 |pendent |of focus|
|00001cb0| 20 2a 29 0d 09 09 7c 20 | 6d 73 67 3a 20 43 6f 6e | *)...| |msg: Con|
|00001cc0| 74 72 6f 6c 6c 65 72 73 | 2e 50 6f 6c 6c 53 65 63 |trollers|.PollSec|
|00001cd0| 74 69 6f 6e 4d 73 67 20 | 44 4f 0d 09 09 09 67 20 |tionMsg |DO....g |
|00001ce0| 3a 3d 20 56 69 65 77 73 | 2e 54 68 69 73 46 72 61 |:= Views|.ThisFra|
|00001cf0| 6d 65 28 66 2c 20 6d 2e | 62 6f 74 74 6f 6d 2e 76 |me(f, m.|bottom.v|
|00001d00| 69 65 77 29 3b 20 49 46 | 20 67 20 23 20 4e 49 4c |iew); IF| g # NIL|
|00001d10| 20 54 48 45 4e 20 56 69 | 65 77 73 2e 46 6f 72 77 | THEN Vi|ews.Forw|
|00001d20| 61 72 64 43 74 72 6c 4d | 73 67 28 67 2c 20 6d 73 |ardCtrlM|sg(g, ms|
|00001d30| 67 29 20 45 4e 44 3b 0d | 09 09 09 49 46 20 7e 6d |g) END;.|...IF ~m|
|00001d40| 73 67 2e 64 6f 6e 65 20 | 54 48 45 4e 20 6d 73 67 |sg.done |THEN msg|
|00001d50| 2e 76 61 6c 69 64 20 3a | 3d 20 46 41 4c 53 45 3b |.valid :|= FALSE;|
|00001d60| 20 6d 73 67 2e 64 6f 6e | 65 20 3a 3d 20 54 52 55 | msg.don|e := TRU|
|00001d70| 45 20 45 4e 44 3b 20 28 | 2a 20 64 69 73 61 62 6c |E END; (|* disabl|
|00001d80| 65 20 64 65 66 61 75 6c | 74 2d 73 63 72 6f 6c 6c |e defaul|t-scroll|
|00001d90| 69 6e 67 20 2a 29 0d 09 | 09 7c 20 6d 73 67 3a 20 |ing *)..|.| msg: |
|00001da0| 43 6f 6e 74 72 6f 6c 6c | 65 72 73 2e 53 63 72 6f |Controll|ers.Scro|
|00001db0| 6c 6c 4d 73 67 20 44 4f | 0d 09 09 09 67 20 3a 3d |llMsg DO|....g :=|
|00001dc0| 20 56 69 65 77 73 2e 54 | 68 69 73 46 72 61 6d 65 | Views.T|hisFrame|
|00001dd0| 28 66 2c 20 6d 2e 62 6f | 74 74 6f 6d 2e 76 69 65 |(f, m.bo|ttom.vie|
|00001de0| 77 29 3b 20 49 46 20 67 | 20 23 20 4e 49 4c 20 54 |w); IF g| # NIL T|
|00001df0| 48 45 4e 20 56 69 65 77 | 73 2e 46 6f 72 77 61 72 |HEN View|s.Forwar|
|00001e00| 64 43 74 72 6c 4d 73 67 | 28 67 2c 20 6d 73 67 29 |dCtrlMsg|(g, msg)|
|00001e10| 20 45 4e 44 3b 0d 09 09 | 09 6d 73 67 2e 64 6f 6e | END;...|.msg.don|
|00001e20| 65 20 3a 3d 20 54 52 55 | 45 3b 0d 09 09 7c 20 6d |e := TRU|E;...| m|
|00001e30| 73 67 3a 20 43 6f 6e 74 | 72 6f 6c 6c 65 72 73 2e |sg: Cont|rollers.|
|00001e40| 50 61 67 65 4d 73 67 20 | 44 4f 0d 09 09 09 66 6f |PageMsg |DO....fo|
|00001e50| 63 75 73 20 3a 3d 20 6d | 2e 62 6f 74 74 6f 6d 2e |cus := m|.bottom.|
|00001e60| 76 69 65 77 0d 09 09 45 | 4c 53 45 09 28 2a 20 61 |view...E|LSE.(* a|
|00001e70| 6c 6c 20 6f 74 68 65 72 | 20 6d 65 73 73 61 67 65 |ll other| message|
|00001e80| 73 20 61 72 65 20 73 65 | 6e 74 20 74 6f 20 74 68 |s are se|nt to th|
|00001e90| 65 20 66 6f 63 75 73 2c | 20 68 6f 77 65 76 65 72 |e focus,| however|
|00001ea0| 20 2a 29 0d 09 09 09 66 | 6f 63 75 73 20 3a 3d 20 | *)....f|ocus := |
|00001eb0| 76 2e 66 6f 63 75 73 2e | 76 69 65 77 0d 09 09 45 |v.focus.|view...E|
|00001ec0| 4e 44 0d 09 09 28 2a 20 | 74 68 65 20 61 73 73 69 |ND...(* |the assi|
|00001ed0| 67 6e 6d 65 6e 74 20 74 | 6f 20 66 6f 63 75 73 20 |gnment t|o focus |
|00001ee0| 73 69 67 6e 61 6c 73 20 | 74 68 61 74 20 74 68 65 |signals |that the|
|00001ef0| 20 76 69 65 77 20 76 20 | 77 61 6e 74 73 20 74 6f | view v |wants to|
|00001f00| 20 66 6f 72 77 61 72 64 | 20 74 68 65 20 6d 65 73 | forward| the mes|
|00001f10| 73 61 67 65 20 74 6f 20 | 74 68 65 0d 09 09 63 6f |sage to |the...co|
|00001f20| 72 72 65 73 70 6f 6e 64 | 69 6e 67 20 65 6d 62 65 |rrespond|ing embe|
|00001f30| 64 64 65 64 20 76 69 65 | 77 20 2a 29 0d 09 45 4e |dded vie|w *)..EN|
|00001f40| 44 20 48 61 6e 64 6c 65 | 43 74 72 6c 4d 73 67 3b |D Handle|CtrlMsg;|
|00001f50| 0d 0d 09 50 52 4f 43 45 | 44 55 52 45 20 28 76 3a |...PROCE|DURE (v:|
|00001f60| 20 56 69 65 77 29 20 48 | 61 6e 64 6c 65 50 72 6f | View) H|andlePro|
|00001f70| 70 4d 73 67 20 28 56 41 | 52 20 6d 73 67 3a 20 56 |pMsg (VA|R msg: V|
|00001f80| 69 65 77 73 2e 50 72 6f | 70 4d 65 73 73 61 67 65 |iews.Pro|pMessage|
|00001f90| 29 3b 0d 09 56 41 52 20 | 70 72 6f 70 3a 20 50 72 |);..VAR |prop: Pr|
|00001fa0| 6f 70 65 72 74 69 65 73 | 2e 50 72 6f 70 65 72 74 |operties|.Propert|
|00001fb0| 79 3b 0d 09 42 45 47 49 | 4e 0d 09 09 57 49 54 48 |y;..BEGI|N...WITH|
|00001fc0| 20 6d 73 67 3a 20 50 72 | 6f 70 65 72 74 69 65 73 | msg: Pr|operties|
|00001fd0| 2e 53 69 7a 65 50 72 65 | 66 20 44 4f 0d 09 09 09 |.SizePre|f DO....|
|00001fe0| 6d 73 67 2e 77 20 3a 3d | 20 76 2e 6d 6f 64 65 6c |msg.w :=| v.model|
|00001ff0| 2e 77 69 64 74 68 3b 20 | 6d 73 67 2e 68 20 3a 3d |.width; |msg.h :=|
|00002000| 20 76 2e 6d 6f 64 65 6c | 2e 74 6f 70 48 65 69 67 | v.model|.topHeig|
|00002010| 68 74 20 2b 20 76 2e 6d | 6f 64 65 6c 2e 62 6f 74 |ht + v.m|odel.bot|
|00002020| 48 65 69 67 68 74 0d 09 | 09 7c 20 6d 73 67 3a 20 |Height..|.| msg: |
|00002030| 50 72 6f 70 65 72 74 69 | 65 73 2e 52 65 73 69 7a |Properti|es.Resiz|
|00002040| 65 50 72 65 66 20 44 4f | 0d 09 09 09 6d 73 67 2e |ePref DO|....msg.|
|00002050| 66 69 78 65 64 20 3a 3d | 20 54 52 55 45 0d 09 09 |fixed :=| TRUE...|
|00002060| 45 4c 53 45 0d 09 09 09 | 56 69 65 77 73 2e 48 61 |ELSE....|Views.Ha|
|00002070| 6e 64 6c 65 50 72 6f 70 | 4d 73 67 28 76 2e 6d 6f |ndleProp|Msg(v.mo|
|00002080| 64 65 6c 2e 62 6f 74 74 | 6f 6d 2e 76 69 65 77 2c |del.bott|om.view,|
|00002090| 20 6d 73 67 29 3b 0d 09 | 09 45 4e 44 0d 09 45 4e | msg);..|.END..EN|
|000020a0| 44 20 48 61 6e 64 6c 65 | 50 72 6f 70 4d 73 67 3b |D Handle|PropMsg;|
|000020b0| 0d 0d 09 50 52 4f 43 45 | 44 55 52 45 20 4e 65 77 |...PROCE|DURE New|
|000020c0| 54 77 69 6e 2a 20 28 77 | 69 64 74 68 2c 20 74 6f |Twin* (w|idth, to|
|000020d0| 70 48 65 69 67 68 74 2c | 20 62 6f 74 48 65 69 67 |pHeight,| botHeig|
|000020e0| 68 74 3a 20 4c 4f 4e 47 | 49 4e 54 3b 20 74 6f 70 |ht: LONG|INT; top|
|000020f0| 2c 20 62 6f 74 74 6f 6d | 3a 20 56 69 65 77 73 2e |, bottom|: Views.|
|00002100| 56 69 65 77 29 3a 20 56 | 69 65 77 73 2e 56 69 65 |View): V|iews.Vie|
|00002110| 77 3b 0d 09 09 56 41 52 | 20 6d 3a 20 4d 6f 64 65 |w;...VAR| m: Mode|
|00002120| 6c 3b 20 76 3a 20 56 69 | 65 77 3b 0d 09 42 45 47 |l; v: Vi|ew;..BEG|
|00002130| 49 4e 0d 09 09 4e 45 57 | 28 6d 29 3b 0d 09 09 6d |IN...NEW|(m);...m|
|00002140| 2e 77 69 64 74 68 20 3a | 3d 20 77 69 64 74 68 3b |.width :|= width;|
|00002150| 20 6d 2e 74 6f 70 48 65 | 69 67 68 74 20 3a 3d 20 | m.topHe|ight := |
|00002160| 74 6f 70 48 65 69 67 68 | 74 3b 20 6d 2e 62 6f 74 |topHeigh|t; m.bot|
|00002170| 48 65 69 67 68 74 20 3a | 3d 20 62 6f 74 48 65 69 |Height :|= botHei|
|00002180| 67 68 74 3b 0d 09 09 6d | 2e 74 6f 70 20 3a 3d 20 |ght;...m|.top := |
|00002190| 4e 65 77 43 6f 6e 74 65 | 78 74 28 74 6f 70 2c 20 |NewConte|xt(top, |
|000021a0| 77 69 64 74 68 2c 20 74 | 6f 70 48 65 69 67 68 74 |width, t|opHeight|
|000021b0| 29 3b 0d 09 09 6d 2e 62 | 6f 74 74 6f 6d 20 3a 3d |);...m.b|ottom :=|
|000021c0| 20 4e 65 77 43 6f 6e 74 | 65 78 74 28 62 6f 74 74 | NewCont|ext(bott|
|000021d0| 6f 6d 2c 20 77 69 64 74 | 68 2c 20 62 6f 74 48 65 |om, widt|h, botHe|
|000021e0| 69 67 68 74 29 3b 0d 09 | 09 4e 45 57 28 76 29 3b |ight);..|.NEW(v);|
|000021f0| 20 76 2e 49 6e 69 74 4d | 6f 64 65 6c 28 6d 29 3b | v.InitM|odel(m);|
|00002200| 0d 09 09 52 45 54 55 52 | 4e 20 76 0d 09 45 4e 44 |...RETUR|N v..END|
|00002210| 20 4e 65 77 54 77 69 6e | 3b 0d 0d 09 28 2a 20 65 | NewTwin|;...(* e|
|00002220| 78 61 6d 70 6c 65 20 74 | 77 69 6e 20 76 69 65 77 |xample t|win view|
|00002230| 20 77 69 74 68 20 74 77 | 6f 20 65 6d 62 65 64 64 | with tw|o embedd|
|00002240| 65 64 20 74 65 78 74 20 | 76 69 65 77 73 20 2a 29 |ed text |views *)|
|00002250| 0d 0d 09 50 52 4f 43 45 | 44 55 52 45 20 4e 65 77 |...PROCE|DURE New|
|00002260| 2a 20 28 29 3a 20 56 69 | 65 77 73 2e 56 69 65 77 |* (): Vi|ews.View|
|00002270| 3b 0d 09 09 43 4f 4e 53 | 54 20 77 69 64 74 68 20 |;...CONS|T width |
|00002280| 3d 20 20 31 36 30 20 2a | 20 50 6f 72 74 73 2e 6d |= 160 *| Ports.m|
|00002290| 6d 3b 20 74 6f 70 48 65 | 69 67 68 74 20 3d 20 33 |m; topHe|ight = 3|
|000022a0| 30 20 2a 20 50 6f 72 74 | 73 2e 6d 6d 3b 20 62 6f |0 * Port|s.mm; bo|
|000022b0| 74 48 65 69 67 68 74 20 | 3d 20 35 30 30 20 2a 20 |tHeight |= 500 * |
|000022c0| 50 6f 72 74 73 2e 6d 6d | 3b 0d 09 42 45 47 49 4e |Ports.mm|;..BEGIN|
|000022d0| 0d 09 09 52 45 54 55 52 | 4e 20 4e 65 77 54 77 69 |...RETUR|N NewTwi|
|000022e0| 6e 28 77 69 64 74 68 2c | 20 74 6f 70 48 65 69 67 |n(width,| topHeig|
|000022f0| 68 74 2c 20 62 6f 74 48 | 65 69 67 68 74 2c 54 65 |ht, botH|eight,Te|
|00002300| 78 74 56 69 65 77 73 2e | 64 69 72 2e 53 74 64 4e |xtViews.|dir.StdN|
|00002310| 65 77 28 29 2c 20 54 65 | 78 74 56 69 65 77 73 2e |ew(), Te|xtViews.|
|00002320| 64 69 72 2e 53 74 64 4e | 65 77 28 29 29 0d 09 45 |dir.StdN|ew())..E|
|00002330| 4e 44 20 4e 65 77 3b 0d | 0d 09 50 52 4f 43 45 44 |ND New;.|..PROCED|
|00002340| 55 52 45 20 44 65 70 6f | 73 69 74 2a 3b 0d 09 42 |URE Depo|sit*;..B|
|00002350| 45 47 49 4e 0d 09 09 56 | 69 65 77 73 2e 44 65 70 |EGIN...V|iews.Dep|
|00002360| 6f 73 69 74 28 4e 65 77 | 28 29 29 0d 09 45 4e 44 |osit(New|())..END|
|00002370| 20 44 65 70 6f 73 69 74 | 3b 0d 0d 45 4e 44 20 4f | Deposit|;..END O|
|00002380| 62 78 54 77 69 6e 73 2e | 82 f1 54 65 78 74 43 6f |bxTwins.|..TextCo|
|00002390| 6e 74 72 6f 6c 6c 65 72 | 73 2e 53 74 64 43 74 72 |ntroller|s.StdCtr|
|000023a0| 6c 44 65 73 63 00 f1 54 | 65 78 74 43 6f 6e 74 72 |lDesc..T|extContr|
|000023b0| 6f 6c 6c 65 72 73 2e 43 | 6f 6e 74 72 6f 6c 6c 65 |ollers.C|ontrolle|
|000023c0| 72 44 65 73 63 00 f1 43 | 6f 6e 74 61 69 6e 65 72 |rDesc..C|ontainer|
|000023d0| 73 2e 43 6f 6e 74 72 6f | 6c 6c 65 72 44 65 73 63 |s.Contro|llerDesc|
|000023e0| 00 f1 43 6f 6e 74 72 6f | 6c 6c 65 72 73 2e 43 6f |..Contro|llers.Co|
|000023f0| 6e 74 72 6f 6c 6c 65 72 | 44 65 73 63 00 f2 04 00 |ntroller|Desc....|
|00002400| 00 00 00 00 00 00 14 00 | 00 00 00 00 00 00 09 00 |........|........|
|00002410| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 01 82 f1 |........|........|
|00002420| 54 65 78 74 52 75 6c 65 | 72 73 2e 53 74 64 52 75 |TextRule|rs.StdRu|
|00002430| 6c 65 72 44 65 73 63 00 | f1 54 65 78 74 52 75 6c |lerDesc.|.TextRul|
|00002440| 65 72 73 2e 52 75 6c 65 | 72 44 65 73 63 00 f2 03 |ers.Rule|rDesc...|
|00002450| 00 00 00 00 00 00 00 ab | 00 00 00 07 00 00 00 a3 |........|........|
|00002460| 00 00 00 00 00 00 83 f1 | 54 65 78 74 52 75 6c 65 |........|TextRule|
|00002470| 72 73 2e 53 74 64 53 74 | 79 6c 65 44 65 73 63 00 |rs.StdSt|yleDesc.|
|00002480| f1 54 65 78 74 52 75 6c | 65 72 73 2e 53 74 79 6c |.TextRul|ers.Styl|
|00002490| 65 44 65 73 63 00 f2 07 | 00 00 00 00 00 00 00 00 |eDesc...|........|
|000024a0| 00 00 00 08 00 00 00 5a | 00 00 00 00 00 00 00 82 |.......Z|........|
|000024b0| f1 54 65 78 74 52 75 6c | 65 72 73 2e 41 74 74 72 |.TextRul|ers.Attr|
|000024c0| 69 62 75 74 65 73 44 65 | 73 63 00 f2 04 00 00 00 |ibutesDe|sc......|
|000024d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 24 00 00 00 |........|....$...|
|000024e0| 00 01 00 00 00 00 00 00 | 00 00 20 a3 5a 00 00 00 |........|.. .Z...|
|000024f0| 00 00 18 f0 01 00 38 63 | 00 00 01 00 00 00 01 00 |......8c|........|
|00002500| 00 00 00 00 00 00 82 f2 | 0d 00 00 00 00 00 00 00 |........|........|
|00002510| 00 00 00 00 00 00 00 00 | 1e 00 00 00 00 00 00 00 |........|........|
|00002520| 00 01 00 00 00 00 41 72 | 69 61 6c 00 7c be 01 00 |......Ar|ial.|...|
|00002530| 00 00 00 00 90 01 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002540| 00 00 e0 8c 01 00 e0 8c | 01 00 00 30 5c 00 e0 b9 |........|...0\...|
|00002550| 3b 3e 82 f1 44 6f 63 75 | 6d 65 6e 74 73 2e 43 6f |;>..Docu|ments.Co|
|00002560| 6e 74 72 6f 6c 6c 65 72 | 44 65 73 63 00 f2 10 00 |ntroller|Desc....|
|00002570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 08 00 |........|........|
|00002580| 00 00 00 00 00 00 00 09 | 00 00 00 00 f0 98 76 00 |........|......v.|
|00002590| a0 7a 99 00 80 fc 0a 00 | 80 fc 0a 00 a0 9f 65 00 |.z......|......e.|
|000025a0| 20 7e 8e 00 00 00 00 00 | 00 00 00 00 00 00 00 00 | ~......|........|
|000025b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000025c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000025d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000025e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000025f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002600| 00 00 01 00 00 00 01 0c | 00 00 00 0c 00 00 00 32 |........|.......2|
|00002610| 65 44 65 73 63 00 f2 07 | 00 00 00 00 00 00 00 00 |eDesc...|........|
|00002620| 00 00 00 08 00 00 00 5a | 00 00 00 00 00 00 00 82 |.......Z|........|
|00002630| 05 54 77 69 6e 73 02 00 | 00 00 50 61 72 74 53 49 |.Twins..|..PartSI|
|00002640| 54 21 00 00 00 00 00 00 | 00 00 00 00 48 9d 00 00 |T!......|....H...|
|00002650| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|00002660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002670| 00 00 ae 04 81 b0 00 00 | 00 00 00 00 01 3e 01 00 |........|.....>..|
|00002680| 00 00 00 00 00 00 82 f2 | 0d 00 00 00 00 00 00 00 |........|........|
|00002690| 00 00 00 00 00 00 00 00 | 1e 00 00 00 00 00 00 00 |........|........|
|000026a0| 00 01 00 00 00 00 41 72 | 69 61 6c 00 7c be 01 00 |......Ar|ial.|...|
|000026b0| 00 00 00 00 90 01 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000026c0| 00 00 e0 8c 01 00 e0 8c | 01 00 00 30 5c 00 e0 b9 |........|...0\...|
|000026d0| 3b 3e 82 f1 44 6f 63 75 | 6d 65 6e 74 73 2e 43 6f |;>..Docu|ments.Co|
|000026e0| 6e 74 72 6f 6c 6c 65 72 | 44 65 73 63 00 f2 10 00 |ntroller|Desc....|
|000026f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 08 00 |........|........|
|00002700| 00 00 00 08 00 35 00 63 | 01 ca 02 56 00 00 01 00 |.....5.c|...V....|
|00002710| 00 00 01 0c 00 00 00 0c | 00 00 00 32 01 29 fc 18 |........|...2.)..|
|00002720| 16 68 00 00 00 1c 00 32 | 00 00 57 4e 53 50 00 00 |.h.....2|..WNSP..|
|00002730| 00 0a 00 01 ff ff 00 00 | 00 00 01 2a 00 7c 00 00 |........|...*.|..|
|00002740| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002750| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002770| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+